IBM Books

AIS V3.4 Protocol Reference V2


Configuring and Monitoring Protocol Independent Multicast Routing Protocol (PIM)

Configuration for PIM is done for each interface. This chapter describes how to use the PIM configuration and operating commands and includes the following sections:


Using PIM

Protocol Independent Multicast dense mode (PIM-DM) is a broadcast and prune multicast protocol used by IP. It supports both IPv4 and IPv6 and the commands and syntax are identical for both versions. It works well in campus networks, where bandwidth is plentiful and users are closely grouped, not dispersed over a wide area of networks. PIM uses a broadcast and prune approach for the multicast forwarding of datagrams and is used when multicast groups are densely distributed across the Internet. It assumes that all downstream systems want to receive multicast datagrams and prunes back branches from those systems which do not.

PIM-DM is a soft state protocol. This means that the prune states, if not removed by some other activity (such as grafting or joining), are removed after a period of time (configurable) and the multicast data is once again broadcasted to all downstream systems where pruning once again occurs.

PIM-DM establishes adjacency to neighboring PIM routers by exchanging Hello messages with all neighbors. It keeps the adjacency active until it is timed out. As long as the neighboring routers are active and running, new Hello messages are sent to refresh the Hello state and prevent the adjacency from timing out. You can configure how often Hello messages are sent.

PIM-DM uses the unicast routing table, regardless which unicast protocol owns an entry, to perform the reverse path forwarding calculation on a received multicast datagram. Reverse path forwarding (RPF) is used to validate whether the received multicast datagram arrived on an interface that would be valid for forwarding to the source address contained in the multicast datagram. If this is an incorrect interface, the datagram is discarded, or else a new multicast entry is built and the multicast datagram is forwarded on all other interfaces (those with PIM-DM active, local host members, and any additional interfaces added by other multicast protocols). The use of unicast routes to perform RPF for input interface validation requires unicast routing to be symmetrical.

Grafting is also supported to allow hosts to dynamically join a group. This grafts a branch to an already existing multicast tree, removing all prune states where required, to ensure that the joined hosts receive the requested group multicast datagrams.

Because of the independent nature of PIM with respect to unicast routing protocols and the broadcast nature of PIM-DM, parallel paths from the source may occur and duplicate multicast data may be forwarded. PIM-DM uses an Assert procedure to choose the appropriate forwarding router when this occurs. Preferences may be configured on routers that run different unicast routing protocols to resolve which router is desired to have precedence. When unicast routing is the same, unicast metric costs to the source are used to determine the best route. And when all else is equal, the router with the largest IP interface address is chosen as the appropriate forwarder.

Use the p pim command at the Config> prompt to configure PIM parameters.


Accessing the PIM Configuration Environment

Use the following procedure to access the PIM configuration process.

  1. At the OPCON prompt, enter talk 6. (For more detail on this command, refer to "The OPCON Process and Commands" in Access Integration Services Software User's Guide.) For example:
        * talk 6
        Config> 
    

    After you enter the talk 6 command, the CONFIG prompt (Config>) displays on the terminal. If the prompt does not appear when you first enter configuration, press Return again.

  2. For IPv4, at the CONFIG prompt, enter the p pim command to get to the PIM Config> prompt. For IPv6, enter the p pim6 command to get to the PIM6 Config> prompt.

PIM Configuration Commands

To configure PIM for IPv4, enter the commands at the PIM Config> prompt. For IPv6, enter the commands at the PIM6 Config> prompt.


Table 111. PIM Configuration Command Summary
 Command   Function 
? (Help) Displays all the commands available for this command level or lists the options for specific commands (if available). See "Getting Help".
 delete   Deletes a PIM interface. 
 disable   Disables PIM on the device. 
 enable   Enables PIM on the device and sets global PIM default configuration values. 
 list   Lists the configuration. 
 set   Sets PIM configuration parameter values. 
Exit Returns you to the previous command level. See "Exiting a Lower Level Environment".

Delete

Use the delete command to remove a configured PIM interface.

Syntax:

delete
interfaceaddr

Interface address

Example:

PIM Config> delete
 Interface address []?

Disable

Use the disable command to disable PIM on the device.

Syntax:

disable

Enable

Use the enable command to enable PIM on the device and set global PIM default configuration values.

Syntax:

enable

List

Use the list command to display the PIM configuration.

Syntax:

list
all
interface
preference
variables

all
Displays all PIM configuration information.

interface
Displays PIM configuration information about the currently configured interfaces.

Example:

PIM Config>list i
 
                                                 Hello         State
     Type              IP Address               Interval      Holdtime
     Physical          9.37.2.1                    30           210

Type
Identifies the type of interface that is configured.

IP address
Identifies the IP address assigned to this interface.

Hello Interval
Identifies the interval between hello messages, in seconds, sent on this interface.

State holdtime
Identifies the number of seconds to tell other devices upstream to hold PIM state for this device. For PIM, this is the amount of time for upstream devices to keep prunes alive.

variables
Displays configuration information about global PIM variables.

Example:

PIM Config>list v
 
          PIM Global Configuration Values
 
                PIM:  on
 
                  Graft Timeout:       3 seconds
                  Assert Timeout:    210 seconds
PIM Config>

PIM: on/off
Identifies whether PIM is currently enabled or disabled.

Graft timeout
Identifies the number of seconds that grafts are retransmitted if no graft acknowledgement has been received.

Assert timeout
Identifies the number of seconds that assert information learned by upstream devices is retained before reverting back to local routing information.

preference
Displays current configured routing type metric preferences.

Example: (IPv4 only)

PIM Config>list p
 
     Direct     0
     Static     1
     OSPF     110
     RIP      120
     BGP      200
 
PIM Config>

Route type
Identifies the route type supported and lists a hexadecimal value displaying the currently configured metric preference.

Set

Use the set command to change PIM configuration parameter values. You can use this command to add a new physical interface.

Syntax:

set
interface interfaceaddress helloperiod joinpruneholdtime
preference routetype preferencevalue
variables

interface

Example:

PIM Config>set interface
Interface address []?
Hello period [30]?
Join Prune Hold Time [210]?

Interface address

Valid Values: Any valid IP address

Default Value: None

Hello period
Specifies the number of seconds between Hello messages. On point-to-point interfaces, this value is ignored. Once the 2212 establishes adjacency, Hello messages are silenced.

Valid Values: 1 - 65535

Default Value: 30

Join prune hold time
Controls messages to inform the receiving device on how long (in seconds) to hold the state activated by the message. Prunes sent to the device remain active for this number of seconds.

Valid Values: 1 - 65535

Default Value: 210

preference routetype
This is a configured metric preference to be used in the assert process. It allows the user to selectively select which unicast route types in the unicast forwarding tables has precedence over other route types. It is of local significance only, meaning it is used for this device and all its attached PIM activated interfaces. This can be used if several unicast routing protocols are in use by this router, adjacent routers are running different routing protocols, or route types, such as default routes, are desired over learned routes.

Routetype can specify the following route types:

Example:

PIM Config> set preference rip
RIP Metric Preference [120]?

Metric Preference
This value is sent to other routers in the assert process during duplicate multicast forwarding detection and is used with route metric costs to determine which router should be the forwarding router. All metric preferences are initially set to 0.

Range: 0 - 65535

Default Values:

direct
0

static
1

ospf
110

rip
120

bgp
200

variables cache_life

Example:

PIM Config>set v cache_life
Mcfwd cache Holdtime [60] 

Mcfwd cache holdtime
Specifies the amount of time in seconds that a multicast forwarding entry which has not been used to forward any multicast datagrams will be allowed to exist in the multicast forwarding cache before it is removed.

Valid Values: A numeric value greater than 0

Default Value: 60

variables assert_tout

Example:

PIM Config>set v assert_tout
PIM Assert Time Out [210] 

Assert time out
The amount of time in seconds that downstream routers will save assert information received from two or more asserting upstream routers. Assert information is used to ensure the downstream routers understand who the correct upstream router is, or forwarding router, so that PIM messages may be sent to the correct router. If no further asserts are received before the assert time has expired, the assert information is discarded and the router uses local information in the unicast routing tables to determine the correct upstream forwarding router.

Valid Values: 1 - 65535

Default Value: 210

variables graft_tout

Example:

PIM Config>set v graft_tout
PIM Graft Time Out [3] 

Graft time out
Specifies the number of seconds that the device that has sent a graft message, but has received no acknowledgement, will wait before sending another message.

Valid Values: 1 - 65535

Default Value: 3


Accessing the PIM Monitoring Environment

Use the following procedure to access the PIM monitoring commands. This process gives you access to the PIM monitoring process.

  1. At the OPCON prompt, enter talk 5. (For more detail on this command, refer to The OPCON Process and Commands in the Access Integration Services Software User's Guide.) For example:
        * talk 5
        +
    

    After you enter the talk 5 command, the GWCON prompt (+) displays on the terminal. If the prompt does not appear when you first enter configuration, press Return again.

  2. For IPv4, at the + prompt, enter the p pim command to get to the PIM> prompt. For IPv6, at the + prompt, enter the p pim6 command to get to the PIM6> prompt.

    Example:

        + p pim
        PIM> 
    

PIM Monitoring Commands

This section describes the PIM monitoring commands.

Table 112. PIM Monitoring Command Summary
 Command   Function 
? (Help) Displays all the commands available for this command level or lists the options for specific commands (if available). See "Getting Help".
 dump   Displays routing tables. 
 clear   Clears the multicast forwarding table. 
 interface   Displays the status of the interface. 
 join   Joins a multicast group. 
 leave   Leaves a multicast group. 
 mcache   Displays currently active multicast forwarding table cache entries. 
 mgroups   Displays group membership of the device's attached interfaces. 
 mstats   Displays various multicast routing statistics. 
 neighbor   Displays information about current adjacencies. 
 pim   Displays the PIM state database. 
 summary pim   Displays a summary of the PIM state database. 
 ping   Dynamically pings an IPv6 address. 
 reset   Dynamically resets PIM. 
 traceroute   Dynamically traces a route. 
 variables   Displays the configuration values for PIM variables. 
Exit Returns you to the previous command level. See "Exiting a Lower Level Environment".

Dump routing tables

Use the dump command to display the configured routing tables.

Syntax:

dump
For an example of the output of this command, see the description of the dump routing table command at IP Monitoring Commands in Protocol Configuration and Monitoring Reference Volume 1.

Clear

Use the clear command to reset the cache.

Syntax:

clear
Example:
PIM>clear
 
Mfwd Cache has been cleared!
 
PIM>
 

Interface

Use the interface command to display a summary of the statistics and parameters related to the interface.

Syntax:

interface
Example:
PIM>interface
PIM Interface Table
                                            Hello     State
IP Address                                 Interval  Holdtime  Status   Type
9.32.45.1                                     30        210    up       TKR/0
9.10.32,23                                    30        210    up       TKR/1
PIM> 

IP address
Specifies the IP address of the interface.

Hello interval
Specifies the number of seconds between hello messages on this interface.

State holdtime
Specifies the number of seconds upstream devices are informed to hold state information before discarding. For PIM, this is the number of seconds a prune is active upstream.

Status
Specifies the current status of the interface.

up
The interface is up and fully operational, but does not generate the mld queries.

disabled
The interface is operational but is disabled and PIM is not active.

down
The interface is not operational.

Join

Use the join command to join a multicast group.

Syntax:

join
Example:
PIM>join 224.12.2.2
 

Leave

Use the leave command to leave a multicast group. This prevents the device from responding to pings and SNMP queries sent to the group address.

Syntax:

leave
Example:
PIM>leave 224.12.2.2
 

Mcache

Use the mcache command to display a list of currently active multicast cache entries. Multicast cache entries are built on demand, whenever the first matching multicast datagram is received. There is a separate cache entry (and therefore a separate route) for each datagram source network and destination group combination.

Syntax:

mcache
Example:
PIM>mcache
 
             0: TKR/0           1: TKR/1           2: TKR/2
             3: IPPN/0          4: BDG/0           5: Internal
 
                            Prot    Count      Upstr     Downstream
 
 Source         Destination   Owner   Count    Upst    Downstream
 9.10.12.3      224.12.2.2    PIM     124        0       1, 2
*10.23.55.2     224.32.4.5    PIM     3          1       1
PIM>
 

Prot
Specifies the owning protocol of the multicast forwarding table entry.

Count
Displays the number of multicast packets received for this multicast forwarding table entry.

Upstr
Displays the neighboring network or router from which the datagram must be received in order to be forwarded.

Downstream
Displays the total number of downstream interfaces or neighbors to which the datagram will be forwarded.

Mgroups

Use the mgroups command to display the group membership of the device's attached interfaces. Only the group membership for those interfaces on which the router is either designated router or backup designated router are displayed.

Syntax:

mgroups
Example:
PIM>mgroups
 
           Local Group Database
Group                   Interface              Lifetime (secs)
 
224.12.2.2              9.32.4.5 (TKR/0)       176
224.5.5.5               Internal               1
 
PIM>

Group
Displays the group address as it has been reported (through MLD) on a particular interface.

Interface
Displays the interface address to which the group address has been reported (through MLD). The router's internal group membership is indicated by a value of internal. For these entries, the lifetime field (see following description) indicates the number of applications that have requested membership in the particular group.

Lifetime
Displays the number of seconds that the entry will persist if Membership Reports cease to be heard on the interface for the given group.

Mstats

Use the mstats command to display various multicast routing statistics. The command indicates whether multicast routing is enabled and whether the router is an inter-area and/or inter-AS multicast forwarder.

Syntax:

mstats
Example:
PIM>mstats
 
              MOSPF forwarding:       Disabled
              Inter-area forwarding:  Disabled
              DVMRP forwarding:       Enabled
              PIM forwarding:         Disabled
 
Datagrams received:           10143  Datagrams fwd (multicast):  10219
Datagrams fwd (unicast):          0  Locally delivered:              0
Unreachable source:               0  Unallocated cache entries:      0
Off multicast tree:               0  Unexpected DL multicast:        0
Buffer alloc failure:             0  TTL scoping:                    0
Administrative filtering:       235
 
# DVMRP routing entries:          5  # DVMRP entries freed:          0
# fwd cache alloc:                1  # fwd cache freed:              0
# fwd cache GC:                   0  # local group DB alloc:         0
# local group DB free:            0
 
PIM>

Datagrams received
Displays the number of multicast datagrams received by the router.

Datagrams fwd (multicast)
Displays the number of datagrams that have been forwarded as data-link multicasts (this includes packet replications, when necessary, so this count could very well be greater than the number received).

Datagrams fwd (unicast)
Displays the number of datagrams that have been forwarded as data-link unicasts.

Locally delivered
Displays the number of datagrams that have been forwarded to internal applications.

Unreachable source
Displays a count of those datagrams whose source address was unreachable.

Unallocated cache entries
Displays a count of those datagrams whose cache entries could not be created due to resource shortages.

Off multicast tree
Displays a count of those datagrams that were not forwarded either because there was no upstream neighbor or no downstream interfaces/neighbors in the matching cache entry.

Unexpected DL multicast
Displays a count of those datagrams that were received as data-link multicasts on those interfaces that have been configured for data-link unicast.

Buffer alloc failure
Displays a count of those datagrams that could not be replicated because of buffer shortages.

TTL scoping
Indicates those datagrams that were not forwarded because their TTL indicated that they could never reach a group member.

Administrative filtering
Displays the number of datagrams discarded because of outbound filtering.

#fwd cache alloc
Indicates the number of cache entries allocated. The current forwarding cache size is the number of entries allocated (# fwd cache alloc) minus the number of cache entries freed (# fwd cache freed).

#fwd cache freed
Indicates the number of cache entries freed. The current forwarding cache size is the number of entries allocated (# fwd cache alloc) minus the number of cache entries freed (# fwd cache freed).

#fwd cache GC
Indicates the number of cache entries were cleared because they were not recently used and the cache overflowed.

#local group DB alloc
Indicates the number of local group database entries allocated. The number allocated (# local group DB alloc) minus the number freed (# local group DB free) equals the current size of the local group database.

#local group DB free
Indicates the number of local group database entires freed. The number allocated (# local group DB alloc) minus the number freed (# local group DB free) equals the current size of the local group database.

Neighbor

Use the neighbor command to display information about neighbor PIM devices and their adjacency status.

Syntax:

neighbor
Example:
PIM>neighbor
PIM Neighbor Listing
 
                                                    Last     First
Neighbor Addr                                 DR    Heard    Heard    Ifc
9.12.2.2                                      NO    21       6139     TKR/0
9.25.3.111                                    YES   29       6204     TKR/1
 
PIM> 

Neighbor Addr
Identifies if this router has identified the neighbor as the designated router.

DR
Identifies if this router has identified the neighbor as the designated router.

Last Heard
The number of seconds since last heard from the neighbor.

First Heard
The total number of seconds since the adjacency was first established to this neighbor.

Ifc
The interface that the neighbor was discovered on.

PIM

Use the pim command to display the PIM state database.

Syntax:

pim
Example:
PIM>pim
                        PIM State Database
                        -------------------
Interface   Group            Source             Lifetime (sec)
1   PRUNE   224.12.2.2       9.32.4.128         205
1   PRUNE   224.23.121.4     9.124.23.1         155
 
PIM>

Group
The destination group address associated with the entry.

Source
The source address of the originator of the multicast datagram.

Interface
The PIM interface number and the type of PIM state in the database.

Lifetime
The total lifetime, in seconds, of the state received, obtained from the PIM control message that set up the state.

Summary PIM

Use the summary pim command to display summary information about the PIM state database.

Syntax:

summary pim
Example:
PIM>s
 
                Summary PIM State Database
                --------------------------
0)     Group:  224.0.1.42
0)    Source:  9.37.179.1
0)    States:  1-P  2-P
 
PIM> 

Group
The destination group address associated with the entry.

Source
The source address of the originator of the multicast datagram.

States
Displays the interfaces and states associated to the source group pair. P identifies a prune state.

Ping

Use the ping command to dynamically ping another destination IPv6 address.

Syntax:

ping
For an example of the output of this command see the description of the ping command at IP Monitoring Commands in Protocol Configuration and Monitoring Reference Volume 1.

See "Ping6" for a description of the parameters.

Reset

Use the reset command to reset PIM and reload the configuration.

Syntax:

reset
Example:
PIM>reset

Traceroute

Use the traceroute command to dynamically trace a route.

Syntax:

traceroute
For an example of the output of this command see the description of the traceroute command at IP Monitoring Commands in Protocol Configuration and Monitoring Reference Volume 1. See "Traceroute6" for a description of the parameters.

Variables

Use the variables command to display information about the PIM configuration variables.

Syntax:

variables
Example:
PIM>variables
 
   PIM: on
 
          Graft Timeout:      3 seconds
         Assert Timeout:    210 seconds
 
PIM Unicast Metric Preferences
Direct     0
Static     1
OSPF     110
RIP      120
BGP      200
 
PIM> 

PIM: on/off
This indicates whether PIM-DM is currently enabled or disabled.

Graft Timeout
The number of seconds that grafts are retransmitted if no graft acknowledgement has been received.

Assert Timeout
The number of seconds that assert information learned by upstream routers is retained before reverting back to local routing information.

PIM Unicast Metric Preferences
Displays current configured routing type metric preferences. Each route type supported is listed with a decimal value displaying the currently configured metric preference.

PIM Dynamic Reconfiguration Support

This section describes dynamic reconfiguration (DR) as it affects Talk 6 and Talk 5 commands.

CONFIG (Talk 6) Delete Interface

Protocol Independent Multicast (PIM) supports the CONFIG (Talk 6) delete interface command with no restrictions.

GWCON (Talk 5) Activate Interface

PIM supports the GWCON (Talk 5) activate interface command with the following consideration:

PIM must be globally enabled before PIM can be activated on a network interface.

All PIM interface-specific commands are supported by the GWCON (Talk 5) activate interface command.

GWCON (Talk 5) Reset Interface

PIM supports the GWCON (Talk 5) reset interface command with the following consideration:

PIM must be globally enabled before PIM can be activated on a network interface.

All PIM interface-specific commands are supported by the GWCON (Talk 5) reset interface command.

GWCON (Talk 5) Component Reset Commands

PIM supports the following PIM-specific GWCON (Talk 5) reset commands:

GWCON, Protocol PIM, Reset Command

Description:
Dynamically resets PIM variable values and interfaces.

Network Effect:
Loss of PIM neighbor adjacency on all interfaces running PIM. This may impact IP multicast forwarding, though information is corrected after a period of time during which neighbor adjacency is once again established.

Limitations:
None.

All PIM commands are supported by the GWCON, protocol pim, reset command.


PIM for IPv6 Dynamic Reconfiguration Support

This section describes dynamic reconfiguration (DR) as it affects Talk 6 and Talk 5 commands.

CONFIG (Talk 6) Delete Interface

Protocol Independent Multicast for IPv6 (PIM6) supports the CONFIG (Talk 6) delete interface command with no restrictions.

GWCON (Talk 5) Activate Interface

PIM6 supports the GWCON (Talk 5) activate interface command with the following consideration:

PIM6 must be globally enabled before PIM6 can be activated on a network interface.

All PIM6 interface-specific commands are supported by the GWCON (Talk 5) activate interface command.

GWCON (Talk 5) Reset Interface

PIM6 supports the GWCON (Talk 5) reset interface command with the following consideration:

PIM6 must be globally enabled before PIM6 can be activated on a network interface.

All PIM6 interface-specific commands are supported by the GWCON (Talk 5) reset interface command.

GWCON (Talk 5) Component Reset Commands

PIM6 supports the following PIM6-specific GWCON (Talk 5) reset commands:

GWCON, Protocol PIM, Reset Command

Description:
Dynamically resets PIM6 variable values and interfaces.

Network Effect:
Loss of PIM6 neighbor adjacency on all interfaces running PIM6. This may impact IPv6 multicast forwarding, though information is corrected after a period of time during which neighbor adjacency is once again established.

Limitations:
None.

All PIM6 commands are supported by the GWCON, protocol pim, reset command.


Multicast Forwarding Cache Dynamic Reconfiguration Support

Note:The following commands are common among MOSPF, DVMRP, and PIM and are considered MFC commands for IPv4:
  • join
  • leave
  • mcache
  • mgroups
  • mstats
Refer to "Configuring and Monitoring OSPF" for more information about MOSPF and "Configuring and Monitoring DVMRP" for more information about DVMRP. Both chapters are in Protocol Configuration and Monitoring Reference Volume 1.

This section describes dynamic reconfiguration (DR) as it affects Talk 6 and Talk 5 commands.

CONFIG (Talk 6) Delete Interface

Multicast Forwarding Cache (MFC) supports the CONFIG (Talk 6) delete interface command with the following consideration:

IP must notify MFC of address update.

GWCON (Talk 5) Activate Interface

MFC supports the GWCON (Talk 5) activate interface command with the following consideration:

IP must notify MFC of address update.

All MFC interface-specific commands are supported by the GWCON (Talk 5) activate interface command.

GWCON (Talk 5) Reset Interface

MFC supports the GWCON (Talk 5) reset interface command with the following consideration:

IP must notify MFC of address update.

All MFC interface-specific commands are supported by the GWCON (Talk 5) reset interface command.

Non-Dynamically Reconfigurable Commands

All MFC configuration parameters can be changed dynamically.


Multicast Forwarding Cache V6 Dynamic Reconfiguration Support

Note:The following PIM commands are considered Multicast Forwarding Cache (MFC6) commands for IPv6:
  • join
  • leave
  • mcache
  • mgroups
  • mstats

This section describes dynamic reconfiguration (DR) as it affects Talk 6 and Talk 5 commands.

CONFIG (Talk 6) Delete Interface

Multicast Forwarding Cache V6 (MFC6) supports the CONFIG (Talk 6) delete interface command with the following consideration:

IPv6 must notify MFC6 of address update.

GWCON (Talk 5) Activate Interface

Multicast Forwarding Cache V6 (MFC6) supports the GWCON (Talk 5) activate interface command with the following consideration:

IPv6 must notify MFC6 of address update.

All Multicast Forwarding Cache V6 (MFC6) interface-specific commands are supported by the GWCON (Talk 5) activate interface command.

GWCON (Talk 5) Reset Interface

Multicast Forwarding Cache V6 (MFC6) supports the GWCON (Talk 5) reset interface command with the following consideration:

IPv6 must notify MFC6 of address update.

All Multicast Forwarding Cache V6 (MFC6) interface-specific commands are supported by the GWCON (Talk 5) reset interface command.

Non-Dynamically Reconfigurable Commands

All Multicast Forwarding Cache V6 (MFC6) configuration parameters can be changed dynamically.


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]